インストラクションによる液晶表示器の設定

液晶表示器は、インストラクションというデータコードを使って制御することができます。液晶表示器は文字を表示するだけでなく、インストラクションによりカーソルを表示したり、あるいは文字をブリンク(点滅)することもできます。ここでは、インストラクションについての概要を解説いたしました。


<項目>インストラクションの概要
表1にインストラクションの一覧表を示します。

表1.インストラクション一覧 (セイコー電子:M1632データシートより)
インストラクション コード 機能
 RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
(1)表示クリア 全表示クリア後、カーソルを
ホーム位置(0番地)へ戻す
(2)カーソルホーム カーソルをホーム位置に戻す。
シフトしていた表示も元へ戻る。
DD RAMの内容は変化しない。
(3)エントリーモードセット I/D データの書き込み及び読み出し
時に、カーソルの進む方向、表
示をシフトさせるかどうかの設定
(4)表示オン/オフ
   コントロール
全表示のオン/オフ(D)、カーソ
ルのオン/オフ(C),カーソル位
置にある桁のブリンク(B)をセット
(5)カーソル/表示シフト S/C R/L DD RAMの内容を変えずに、
カーソルの移動と、表示シフト
を行う。
(6)ファンクションセット DL N F インターフェースデータ長(DL)、
デューティ(N)、及び文字フォン
ト(F)を設定する。
(7)CG RAMアドレスセット CG(CGRAMのアドレス) CG RAMのアドレスをセット
以降送受するデータは
CG RAMのデータ
(8)DD RAMアドレスセット DD(DDRAMのアドレス) DD RAMのアドレスをセット
以降送受するデータは
DD RAMのデータ
(9)BF/アドレス読み出し BF AC(アドレスカウンタ) モジュールが内部動作中で
あることを示すBF及びACの
内容を読み出す。
(10)CGRAM、DDRAMへ
   のデータ書き込み
書き込みデータ DDRAMまたはCGRAMに
データを書き込む
(11)CGRAM、DDRAM
   からのデータ読み出し
読み出しデータ DDRAMまたはCGRAMから
データを読み出す



(1)表示クリア
全表示クリア後、カーソルをホーム位置(0番地)へ戻します。DDRAMの全アドレスにスペースコード「20H」が書き込まれ、AC(アドレスカウンタ)にDDRAMアドレスの0番地がセットされます。表示はシフトしていた場合には、元に位置に戻ります。表示クリア命令実行後は、エントリーモードはインクリメントが選択されています。

表1−1.表示クリアのインストラクション
コード  RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0



(2)カーソルホーム
カーソルをホーム位置(0番地)へ戻します。AC(アドレスカウンタ)にDDRAMアドレスの0番地がセットされます。カーソルはホーム位置へ戻り、表示はシフトしていた場合は元の位置に戻ります。DDRAMの内容は変化しません。カーソルまたはブリンク(点滅)は、表示されていた場合は、表示の左端に戻ります。DB0は無効なビットで、「0」でも「1」でも構いません。

表1−2.カーソルホームのインストラクション
コード  RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

(注) *: 無効のビット



(3)エントリーモードセット
カーソルの進む方向及び表示をシフトさせるかどうかを設定します。文字コードをDDRAMに書き込み又は読み出したとき、DDRAMのアドレスを+1又は−1します。CGRAMに書き込み、読み出しの時も同様です。S=1のとき、DDRAMへの書き込みの際に表示全体を左右どちらかにシフトします。カーソルの位置は変わらず表示のみが移動します。DDRAMからの読み出しの時は表示のシフトはありません。

表1−3.エントリーモードのインストラクション
コード  RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
I/D

(注) I/D=1: アドレスを+1し、カーソル又はブリンク(点滅)が右に動く
    I/D=0: アドレスを−1し、カーソル又はブリンク(点滅)が左に動く
    S=1,I/D=1: 左にシフトします。
    S=1,I/D=0: 右にシフトします。
    S=0:       表示はシフトしない。



(4)表示オン/オフコントロール
表示のオン/オフ、カーソルのオン/オフ、カーソル位置にある桁の文字のブリンク(点滅)について設定します。カーソルオン/オフ及びブリンクはAC(アドレスカウンタ)に指定されているDDRAMのアドレスで示される桁で行われます。D=0による表示オフの場合、表示データはDDRAMに残っているので、D=1にすれば再び表示されます。カーソルは文字フォントの下のドット行に表示されます。ブリンク(点滅)は、全ドット黒と文字を切り替えて表示します。カーソルとブリンクは同時に設定することができます。

表1−4.表示オン/オフコントロールのインストラクション
コード  RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

(注) D=1: 表示オン
    D=0: 表示オフ
    C=1: カーソルを表示する
    C=0: カーソルを表示しない
    B=1: カーソル位置に相当する文字をブリンク(点滅)させる。
    B=0: ブリンク(点滅)しない


(5)カーソル/表示シフト
DDRAMの内容を変えずに、カーソルの移動と表示シフトを行います。カーソル位置とAC(アドレスカウンタ)の内容は一致します。表示データの書き込み・読み出しをしないで、カーソル位置もしくは表示をシフトさせるので、表示の修正・検索に使えます。1行目から2行目へのカーソルの移動は1行目の40桁目の次に行われます。また、表示シフトは1行目と2行目が同時に行われます。したがって、表示をシフトさせたときに、2行目の表示が1行目に移動することはありません。

表1−5.カーソル/表示シフトのインストラクション
コード  RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
S/C R/L

(注) S/C=0,R/L=0: カーソル位置を左にシフトします。(ACを−1します)
    S/C=0,R/L=1: カーソル位置を右にシフトします。(ACを+1します)
    S/C=1,R/L=0: 表示全体を左にシフトします。カーソルは表示について動きます。(ACは変化しない)
    S/C=1,R/L=1: 表示全体を右にシフトします。カーソルは表示について動きます。(ACは変化しない)
    *: 無効のビット



(6)ファンクションセット
インターフェイスデータ長、デューティ、及び文字フォントを設定します。ファンクションセットはビジィフラッグ/アドレス読み出し以外のすべてのインストラクションに優先して実行する必要があります。他のインストラクションを実行した後では、インターフェースデータ長を変更する以外のファンクションセット命令は実行されません。4ビット(DB7〜DB4使用)にセットした場合には、2回のデータ転送が必要です。初めに上位4ビットの転送が行われ、次いで下位4ビットの転送が行われます。

表1−6.ファンクションセットのインストラクション
コード  RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DL

(注) DL=1: 8ビット(DB7〜DB0使用)にセットします。
    DL=0: 4ビット(DB7〜DB4使用)にセットします。
    N=1:  1/16デューティにセットします。
    N=0:  1/8または1/11デューティにセットします。(ここでは、N=1にセットする)
    F=1:  文字フォントを5×10ドットマトリクスにセットします。
    F=0:  文字フォントを5×7ドットマトリクスにセットします。(N=1のとき、Fは無効のビットとなる)
    *: 無効のビット



(7)CGRAMアドレスセット
AAAAAAの2進で表されるCGRAMのアドレスがAC(アドレスカウンタ)に設定され、以後のMPUからの書き込み、読み出しデータはCGRAMに関して行われます。CGRAMのアドレスは、DB5が上位ビット、DB0が下位ビットになります。

表1−7.CGRAMアドレスセットのインストラクション
コード  RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0



(8)DDRAMアドレスセット

AAAAAAAの2進で表されるDDRAMのアドレスがAC(アドレスカウンタ)に設定され、以後のMPUからの書き込み、読み出しデータはDDRAMに関して行われます。DDRAMのアドレスは、DB6が上位ビット、DB0が下位ビットになります。

表1−8.DDRAMアドレスセットのインストラクション
コード  RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0



(9)ビジィフラッグ/アドレス読み出し

以前に受けたインストラクションによって、モジュールが内部動作中であることを表すBF信号を読み出します。BF=0を確認してから次の書き込みを行います。ビジィフラッグの読み出しと同時にAAAAAAAの2進で表されるAC(アドレスカウンタ)の値を読み出します。ACはCGRAM、DDRAMの両方に使われますが、どちらを読み出すかは、この命令以前にどちらかのアドレスがセットされていたかによって決まります。アドレスは、DB6が上位ビット、DB0が下位ビットになります。

表1−9.ビジィフラッグ/アドレス読み出し
コード  RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
BF



(10)CGRAM、DDRAMへのデータの書き込み

2進8ビットのデータDDDDDDDDをCGRAMまたはDDRAMに書き込みます。どちらに書き込むかは、この命令以前に(7)CGRAMアドレスセットか、(8)DDRAMアドレスセット命令を行うことにより決定されます。書き込み後、アドレス及び表示のシフトはエントリーモードセットに従います。2進8ビットのデータは、DB7が上位ビット、DB0が下位ビットになります。

表1−10.CGRAM,DDRAMへのデータの書き込み
コード  RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0



(11)CGRAM、DDRAMからのデータの読み出し

2進8ビットのデータDDDDDDDDをCGRAMまたはDDRAMから読み出します。どちらから読み出すかは、この命令以前の(7)CGRAMアドレスセットか、(8)DDRAMアドレスセット命令により決定されますが、必ず直前にどちらかの命令を実行しなければなりません。読み出し命令の前に、アドレスセット命令を実行しない場合は、1回目の読み出しデータは無効になります。また連続して読み出し命令を実行する場合は、2回目の読み出しから、データが正常に読み出されるようになります。ただし、DDRAMの読み出しにおいて、カーソルシフト命令によりカーソルを移動した場合は、カーソルシフト命令がDDRAMアドレスセット命令とみなされるので、アドレスセット命令を実行する必要はありません。読み出し後、アドレスはエントリーモードに従って、自動的に+1または−1されますが表示のシフトはエントリーモードに関わらず行わなければなりません。2進8ビットのデータは、DB7が上位ビット、DB0が下位ビットになります。

表1−11.CGRAM,DDRAMからのデータの読み出し
コード  RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

(注)CGRAM、DDRAMへのデータ書き込み命令の実行後、AC(アドレスカウンタ)はエントリーモードに従って自動的に+1または−1されますが、この直後に読み出し命令を実行しても、その時のACの指すRAMの内容は読み出されません。したがって、正しいデータが読み出されるのは以下の条件の時になります。



<項目>インストラクションによる初期設定
液晶表示器は、電源が入ってから自動的にリセットされて通常は初期化されますが、電源条件が合わず自動初期設定がうまく実行されない場合もあります。ここで確実に液晶表示器を動作させるためには、インストラクションによる初期設定を行う必要があります。この場合、電源投入直後はインターフェースデータ長が何ビットに設定されているか分かりませんので、ファンクションセットを2回行って、一度8ビットに設定します。その後のファンクションセットで使用条件に合ったインターフェース長を設定するようにします。


(1)インタ−フェースデータ長: 8ビットの場合の初期設定

電源オン
WAIT(15ms以上)
VDDが4.5V以上に達してから
コード  RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
この命令の前にはBFチェックはできない。
ファンクションセット
(インターフェースデータ長8ビット)
WAIT(4.1ms以上)
コード  RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
この命令の前にはBFチェックはできない。
ファンクションセット
(インターフェースデータ長8ビット)
WAIT(100μs以上)
コード  RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
この命令の前にはBFチェックはできない。
ファンクションセット
(インターフェースデータ長8ビット)
コード  RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

以下の命令からBFチェックができます。
ファンクションセット
(インターフェースデータ長を8ビットに設定し、
1/16デューティで、文字形式を5×7ドット
マトリクスに設定する)
コード  RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
表示オフ
コード  RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
表示クリア
コード  RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
エントリーモードセット
(内部RAMの書き込み時に、アドレスは
+1され、カーソルは右に移動します。
表示シフトはしません。)
初期設定終了



(2)インタ−フェースデータ長: 4ビットの場合の初期設定

電源オン
WAIT(15ms以上)
VDDが4.5V以上に達してから
コード  RS R/W DB7 DB6 DB5 DB4
この命令の前にはBFチェックはできない。
ファンクションセット
(インターフェースデータ長8ビット)
WAIT(4.1ms以上)
コード  RS R/W DB7 DB6 DB5 DB4
この命令の前にはBFチェックはできない。
ファンクションセット
(インターフェースデータ長8ビット)
WAIT(100μs以上)
コード  RS R/W DB7 DB6 DB5 DB4
この命令の前にはBFチェックはできない。
ファンクションセット
(インターフェースデータ長8ビット)
コード  RS R/W DB7 DB6 DB5 DB4
以下の命令からBFチェックができます。
ファンクションセット
(インターフェースデータ長4ビット)
コード  RS R/W DB7 DB6 DB5 DB4
ファンクションセット
(インターフェースデータ長を4ビットに設定し、
1/16デューティで、文字形式を5×7ドット
マトリクスに設定する。ここから4ビット動作に
なります。)
コード  RS R/W DB7 DB6 DB5 DB4
表示オフ
コード  RS R/W DB7 DB6 DB5 DB4
表示クリア
コード  RS R/W DB7 DB6 DB5 DB4
エントリーモードセット
(内部RAMの書き込み時に、アドレスは
+1され、カーソルは右に移動します。
表示シフトはしません。)
初期設定終了




<項目>インストラクションの使用例
液晶表示器の初期設定終了後、文字を表示させるなどインストラクションの使用例を示します。ここではインターフェースデータ長が8ビットの場合と、4ビットの場合を示します。なお、表示例は16×2の表示器の場合です。


(1)インストラクションの使用例(8ビットの場合)

初期設定後
表 示 例
コード  RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
表示をONし、カーソルを
ONさせます。
 □□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□
コード  RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
CGRAM/DDRAM書き込み
文字例「」を書き込みます。
カーソルは+1されて右へ
移動します。
 □□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□
コード  RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
文字例「」を書き込みます。
カーソルは+1されて右へ
移動します。
SP □□□□□□□□□□□□□
□□□□□□□□□□□□□□□□
・・・・・(中略)・・・・・
コード  RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
文字例「」を書き込みます。
このときカーソルは消えます。
SPECTRUMホームへ゜ーシ゛
□□□□□□□□□□□□□□□□
コード  RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
カーソルが2行目にくるように
アドレスをセットします。
SPECTRUMホームへ゜ーシ゛
 □□□□□□□□□□□□□□□
コード  RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
文字例「」を書き込みます。
カーソルは+1されて右へ
移動します。
SPECTRUMホームへ゜ーシ゛
 □□□□□□□□□□□□□
・・・・・(中略)・・・・・
コード  RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
文字例「」を書き込みます。
SPECTRUMホームへ゜ーシ゛
0123456789ABCDEF
コード  RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
カーソルをホームポジション
へ移動します。
PECTRUMホームへ゜ーシ゛
0123456789ABCDEF
コード  RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
表示をクリア
カーソルはホームポジション
にあります。
 □□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□
・・・・・(続く)・・・・・




(2)インストラクションの使用例(4ビットの場合)

初期設定後
表 示 例
コード  RS R/W DB7 DB6 DB5 DB4
表示をONし、カーソルを
ONさせます。
 □□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□
コード  RS R/W DB7 DB6 DB5 DB4
CGRAM/DDRAM書き込み
文字例「」を書き込みます。
カーソルは+1されて右へ
移動します。
 □□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□
コード  RS R/W DB7 DB6 DB5 DB4
文字例「」を書き込みます。
カーソルは+1されて右へ
移動します。
SP □□□□□□□□□□□□□
□□□□□□□□□□□□□□□□
・・・・・(中略)・・・・・
コード  RS R/W DB7 DB6 DB5 DB4
文字例「」を書き込みます。
このときカーソルは消えます。
SPECTRUMホームへ゜ーシ゛
□□□□□□□□□□□□□□□□
コード  RS R/W DB7 DB6 DB5 DB4
カーソルが2行目にくるように
アドレスをセットします。
SPECTRUMホームへ゜ーシ゛
 □□□□□□□□□□□□□□□
コード  RS R/W DB7 DB6 DB5 DB4
文字例「」を書き込みます。
カーソルは+1されて右へ
移動します。
SPECTRUMホームへ゜ーシ゛
 □□□□□□□□□□□□□
・・・・・(中略)・・・・・
コード  RS R/W DB7 DB6 DB5 DB4
文字例「」を書き込みます。
SPECTRUMホームへ゜ーシ゛
0123456789ABCDEF
コード  RS R/W DB7 DB6 DB5 DB4
カーソルをホームポジション
へ移動します。
PECTRUMホームへ゜ーシ゛
0123456789ABCDEF
コード  RS R/W DB7 DB6 DB5 DB4
表示をクリア
カーソルはホームポジション
にあります。
 □□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□
・・・・・(続く)・・・・・



またまだ続くよ!お楽しみに
<随時・更新中>


<戻る> <次ページへ>
<TOPページへ>